<html>
<head><meta charset="utf-8"><title>The Alloc trait · t-libs/wg-allocators · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/197181-t-libs/wg-allocators/index.html">t-libs/wg-allocators</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/197181-t-libs/wg-allocators/topic/The.20Alloc.20trait.html">The Alloc trait</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="164814954"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/197181-t-libs/wg-allocators/topic/The%20Alloc%20trait/near/164814954" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Tim Diekmann <a href="https://rust-lang.github.io/zulip_archive/stream/197181-t-libs/wg-allocators/topic/The.20Alloc.20trait.html#164814954">(May 03 2019 at 17:50)</a>:</h4>
<p>I want to bring back the discussion about modifying the <code>Alloc</code> trait.</p>
<p>In <a href="https://github.com/rust-lang/rust/pull/58457" target="_blank" title="https://github.com/rust-lang/rust/pull/58457">#58457</a> there were several suggestions, on how to change/improve the <code>Alloc</code> trait:</p>
<ul>
<li>A separate <code>Dealloc</code> trait: Most of the collections (incl. <code>Box</code>, <code>Rc</code>, etc.) does not need all methods from <code>Alloc</code> in order to work, only <code>dealloc</code> is needed for implementing <code>Drop</code>. Other suggestions like <code>trait GetDealloc</code> where also proposed.</li>
<li><span class="user-mention" data-user-id="219747">@Simon Sapin</span> proposed to add <code>Handle</code> to the trait names to show that they are typically implemented for a reference or smart pointer or ZST: <a href="https://github.com/rust-lang/rust/pull/58457#issuecomment-472479293" target="_blank" title="https://github.com/rust-lang/rust/pull/58457#issuecomment-472479293">#58457 (comment)</a></li>
<li><span class="user-mention" data-user-id="219283">@Scott J Maddox</span> brought <code>AllocFrom</code> into scope: <a href="https://github.com/rust-lang/rust/pull/58457#issuecomment-475089881" target="_blank" title="https://github.com/rust-lang/rust/pull/58457#issuecomment-475089881">#58457 (comment)</a></li>
<li>As I just noticed, associating an error type is still a thing (<a href="#narrow/stream/197181-t-libs.2Fwg-allocators/topic/Collections.20beyond.20box.2C.20allocation.20fallibility/near/164811285" title="#narrow/stream/197181-t-libs.2Fwg-allocators/topic/Collections.20beyond.20box.2C.20allocation.20fallibility/near/164811285">Collections beyond box, allocation fallibility</a>)</li>
</ul>



<a name="164816488"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/197181-t-libs/wg-allocators/topic/The%20Alloc%20trait/near/164816488" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Simon Sapin <a href="https://rust-lang.github.io/zulip_archive/stream/197181-t-libs/wg-allocators/topic/The.20Alloc.20trait.html#164816488">(May 03 2019 at 18:08)</a>:</h4>
<p>It’d be good to carefully go through past discussions (there are some in internals.rlo too) and file specific issues in the new repo about everything that is not resolved or implemented yet. <span class="user-mention" data-user-id="216785">@Tim Diekmann</span>, would you like to do that?</p>



<a name="164816720"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/197181-t-libs/wg-allocators/topic/The%20Alloc%20trait/near/164816720" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Tim Diekmann <a href="https://rust-lang.github.io/zulip_archive/stream/197181-t-libs/wg-allocators/topic/The.20Alloc.20trait.html#164816720">(May 03 2019 at 18:11)</a>:</h4>
<p>Yup, I'll do that. Just to make sure I understood you right: <em>not resolved</em> means things like mentioned above and <em>not implemented</em> means things like <code>Vec&lt;T, A&gt;</code>, <code>hashbrown::HashMap&lt;T, A&gt;</code>, <code>Box&lt;T, A&gt;</code> etc.?</p>



<a name="164817344"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/197181-t-libs/wg-allocators/topic/The%20Alloc%20trait/near/164817344" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Simon Sapin <a href="https://rust-lang.github.io/zulip_archive/stream/197181-t-libs/wg-allocators/topic/The.20Alloc.20trait.html#164817344">(May 03 2019 at 18:18)</a>:</h4>
<p>It’s a bit fuzzy, but in my mind “not resolved” means that a change was proposed but no consensus was reached (either because of disagreement or because the discussion just died off). “Not implemented” is when there’s consensus of yes we should totally do X, but no one made the PR</p>



<a name="164817945"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/197181-t-libs/wg-allocators/topic/The%20Alloc%20trait/near/164817945" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Tim Diekmann <a href="https://rust-lang.github.io/zulip_archive/stream/197181-t-libs/wg-allocators/topic/The.20Alloc.20trait.html#164817945">(May 03 2019 at 18:24)</a>:</h4>
<p>Alright. I'll start with a list of structs, which are the goal of this WG. Then I'll search through the dozens of topics on github and internals.rlo for suggestions, discussions etc. and make different issues where needed.</p>



<a name="164818129"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/197181-t-libs/wg-allocators/topic/The%20Alloc%20trait/near/164818129" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Simon Sapin <a href="https://rust-lang.github.io/zulip_archive/stream/197181-t-libs/wg-allocators/topic/The.20Alloc.20trait.html#164818129">(May 03 2019 at 18:27)</a>:</h4>
<p>List of what structs?</p>



<a name="164818187"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/197181-t-libs/wg-allocators/topic/The%20Alloc%20trait/near/164818187" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Tim Diekmann <a href="https://rust-lang.github.io/zulip_archive/stream/197181-t-libs/wg-allocators/topic/The.20Alloc.20trait.html#164818187">(May 03 2019 at 18:27)</a>:</h4>
<p>This so far:</p>
<ul>
<li>[ ] <code>Box&lt;T, A&gt;</code> (current PR: <a href="https://github.com/rust-lang/rust/pull/58457" target="_blank" title="https://github.com/rust-lang/rust/pull/58457">https://github.com/rust-lang/rust/pull/58457</a>)</li>
<li>[ ] <code>Rc&lt;T, A&gt;</code></li>
<li>[ ] <code>Arc&lt;T, A&gt;</code></li>
<li>[ ] <code>String&lt;A&gt;</code></li>
<li>[ ] <code>Vec&lt;T, A&gt;</code></li>
<li>[ ] <code>VecDeque&lt;T, A&gt;</code></li>
<li>[ ] <code>LinkedList&lt;T, A&gt;</code></li>
<li>[ ] <code>HashMap&lt;K, V, S, A&gt;</code> (implement in <a href="https://github.com/Amanieu/hashbrown" target="_blank" title="https://github.com/Amanieu/hashbrown">hashbrown crate</a>?)</li>
<li>[ ] <code>BTreeMap&lt;K, V, A&gt;</code></li>
<li>[ ] <code>HashSet&lt;T, S, A&gt;</code></li>
<li>[ ] <code>BTreeSet&lt;T, A&gt;</code></li>
<li>[ ] <code>BinaryHeap&lt;T, A&gt;</code></li>
</ul>



<a name="164818652"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/197181-t-libs/wg-allocators/topic/The%20Alloc%20trait/near/164818652" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Simon Sapin <a href="https://rust-lang.github.io/zulip_archive/stream/197181-t-libs/wg-allocators/topic/The.20Alloc.20trait.html#164818652">(May 03 2019 at 18:32)</a>:</h4>
<p>ah, that should gain an allocator parameter</p>



<a name="164818694"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/197181-t-libs/wg-allocators/topic/The%20Alloc%20trait/near/164818694" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Tim Diekmann <a href="https://rust-lang.github.io/zulip_archive/stream/197181-t-libs/wg-allocators/topic/The.20Alloc.20trait.html#164818694">(May 03 2019 at 18:33)</a>:</h4>
<p>Yeah, thanks <span aria-label="sweat smile" class="emoji emoji-1f605" role="img" title="sweat smile">:sweat_smile:</span></p>



<a name="164818729"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/197181-t-libs/wg-allocators/topic/The%20Alloc%20trait/near/164818729" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Simon Sapin <a href="https://rust-lang.github.io/zulip_archive/stream/197181-t-libs/wg-allocators/topic/The.20Alloc.20trait.html#164818729">(May 03 2019 at 18:34)</a>:</h4>
<p>hashbrown will be an “interesting” case, since the <a href="http://crates.io" target="_blank" title="http://crates.io">crates.io</a> copy supports stable</p>



<a name="164818843"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/197181-t-libs/wg-allocators/topic/The%20Alloc%20trait/near/164818843" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Tim Diekmann <a href="https://rust-lang.github.io/zulip_archive/stream/197181-t-libs/wg-allocators/topic/The.20Alloc.20trait.html#164818843">(May 03 2019 at 18:35)</a>:</h4>
<p>Yup, I also thought this. But currently this is out of scope I guess.</p>



<a name="164818981"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/197181-t-libs/wg-allocators/topic/The%20Alloc%20trait/near/164818981" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Simon Sapin <a href="https://rust-lang.github.io/zulip_archive/stream/197181-t-libs/wg-allocators/topic/The.20Alloc.20trait.html#164818981">(May 03 2019 at 18:37)</a>:</h4>
<p>Once more of the pieces are in place we can see what approach Amanieu wants to take</p>



<a name="164819591"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/197181-t-libs/wg-allocators/topic/The%20Alloc%20trait/near/164819591" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Tim Diekmann <a href="https://rust-lang.github.io/zulip_archive/stream/197181-t-libs/wg-allocators/topic/The.20Alloc.20trait.html#164819591">(May 03 2019 at 18:45)</a>:</h4>
<p><span class="user-mention" data-user-id="219747">@Simon Sapin</span> You may want to add some Labels to the repository? Especially for suggestions, discussions and tracking issues this would make sense.</p>



<a name="164819614"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/197181-t-libs/wg-allocators/topic/The%20Alloc%20trait/near/164819614" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Tim Diekmann <a href="https://rust-lang.github.io/zulip_archive/stream/197181-t-libs/wg-allocators/topic/The.20Alloc.20trait.html#164819614">(May 03 2019 at 18:46)</a>:</h4>
<p>Oh, I cannot assign labels anyway <span aria-label="blush" class="emoji emoji-1f60a" role="img" title="blush">:blush:</span></p>



<a name="164820698"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/197181-t-libs/wg-allocators/topic/The%20Alloc%20trait/near/164820698" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Simon Sapin <a href="https://rust-lang.github.io/zulip_archive/stream/197181-t-libs/wg-allocators/topic/The.20Alloc.20trait.html#164820698">(May 03 2019 at 19:00)</a>:</h4>
<p>I’m not sure what the labels should be</p>



<a name="164820747"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/197181-t-libs/wg-allocators/topic/The%20Alloc%20trait/near/164820747" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Simon Sapin <a href="https://rust-lang.github.io/zulip_archive/stream/197181-t-libs/wg-allocators/topic/The.20Alloc.20trait.html#164820747">(May 03 2019 at 19:00)</a>:</h4>
<p>You should have an invite for the repo</p>



<a name="164822497"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/197181-t-libs/wg-allocators/topic/The%20Alloc%20trait/near/164822497" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Tim Diekmann <a href="https://rust-lang.github.io/zulip_archive/stream/197181-t-libs/wg-allocators/topic/The.20Alloc.20trait.html#164822497">(May 03 2019 at 19:22)</a>:</h4>
<p>Thanks, I'll put in some love soon</p>



<a name="164837530"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/197181-t-libs/wg-allocators/topic/The%20Alloc%20trait/near/164837530" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Scott J Maddox <a href="https://rust-lang.github.io/zulip_archive/stream/197181-t-libs/wg-allocators/topic/The.20Alloc.20trait.html#164837530">(May 03 2019 at 23:07)</a>:</h4>
<blockquote>
<ul>
<li><span class="user-mention silent" data-user-id="219283">Scott J Maddox</span> brought <code>AllocFrom</code> into scope: [#58457 (comment)](<a href="https://github.com/rust-lang/rust/pull/58457#issuecomment-475089881" target="_blank" title="https://github.com/rust-lang/rust/pull/58457#issuecomment-475089881">https://github.com/rust-lang/rust/pull/58457#issuecomment-475089881</a></li>
</ul>
</blockquote>
<p>There's also <a href="https://github.com/rust-lang/rust/pull/58457#issuecomment-482816662" target="_blank" title="https://github.com/rust-lang/rust/pull/58457#issuecomment-482816662">this comment</a> which gives some more context and a more complete example. I really hope this use case is not forgotten. There are many custom allocators that depend on this kind of behavior (i.e. finding the allocator state from allocated pointer addresses).</p>
<p>As for <code>Dealloc</code>, it would complicate the <code>Box</code> and <code>Vec</code> implementations a bit (separating each function based on if it needs access to <code>Dealloc</code> or <code>Dealloc+Alloc</code>), but it might be worth it to eke out the last bit of performance for specialized allocators. If deallocation is a no-op, for example, you want the compiler to throw away all code to access the Alloc instance; it might have trouble doing that in some cases, though, but it might be made easier if it's only <code>Dealloc</code>. I don't know, though. It's just speculation.</p>



<a name="164837713"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/197181-t-libs/wg-allocators/topic/The%20Alloc%20trait/near/164837713" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Tim Diekmann <a href="https://rust-lang.github.io/zulip_archive/stream/197181-t-libs/wg-allocators/topic/The.20Alloc.20trait.html#164837713">(May 03 2019 at 23:10)</a>:</h4>
<p><span class="user-mention" data-user-id="219283">@Scott J Maddox</span>  I'm currently on tracking the open discussions at github. If you don't mind you may file an issue at <a href="https://github.com/rust-lang/wg-allocators" target="_blank" title="https://github.com/rust-lang/wg-allocators">https://github.com/rust-lang/wg-allocators</a>?</p>



<a name="164837747"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/197181-t-libs/wg-allocators/topic/The%20Alloc%20trait/near/164837747" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mike Hommey <a href="https://rust-lang.github.io/zulip_archive/stream/197181-t-libs/wg-allocators/topic/The.20Alloc.20trait.html#164837747">(May 03 2019 at 23:11)</a>:</h4>
<p><span class="user-mention" data-user-id="219283">@Scott J Maddox</span> the link doesn't work</p>



<a name="164837757"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/197181-t-libs/wg-allocators/topic/The%20Alloc%20trait/near/164837757" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mike Hommey <a href="https://rust-lang.github.io/zulip_archive/stream/197181-t-libs/wg-allocators/topic/The.20Alloc.20trait.html#164837757">(May 03 2019 at 23:11)</a>:</h4>
<p><a href="https://github.com/rust-lang/wg-allocators/issues/9" target="_blank" title="https://github.com/rust-lang/wg-allocators/issues/9">https://github.com/rust-lang/wg-allocators/issues/9</a> is related, presumably</p>



<a name="164837762"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/197181-t-libs/wg-allocators/topic/The%20Alloc%20trait/near/164837762" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Scott J Maddox <a href="https://rust-lang.github.io/zulip_archive/stream/197181-t-libs/wg-allocators/topic/The.20Alloc.20trait.html#164837762">(May 03 2019 at 23:11)</a>:</h4>
<blockquote>
<p><span class="user-mention silent" data-user-id="219283">Scott J Maddox</span> the link doesn't work</p>
</blockquote>
<p>Hmm... That's odd. It works for me..</p>



<a name="164837810"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/197181-t-libs/wg-allocators/topic/The%20Alloc%20trait/near/164837810" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Tim Diekmann <a href="https://rust-lang.github.io/zulip_archive/stream/197181-t-libs/wg-allocators/topic/The.20Alloc.20trait.html#164837810">(May 03 2019 at 23:12)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/pull/58457#issuecomment-475089881" target="_blank" title="https://github.com/rust-lang/rust/pull/58457#issuecomment-475089881">https://github.com/rust-lang/rust/pull/58457#issuecomment-475089881</a></p>



<a name="164837816"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/197181-t-libs/wg-allocators/topic/The%20Alloc%20trait/near/164837816" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Scott J Maddox <a href="https://rust-lang.github.io/zulip_archive/stream/197181-t-libs/wg-allocators/topic/The.20Alloc.20trait.html#164837816">(May 03 2019 at 23:12)</a>:</h4>
<p>Oh, you mean the quoted one. I'll fix it.</p>



<a name="164837819"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/197181-t-libs/wg-allocators/topic/The%20Alloc%20trait/near/164837819" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Tim Diekmann <a href="https://rust-lang.github.io/zulip_archive/stream/197181-t-libs/wg-allocators/topic/The.20Alloc.20trait.html#164837819">(May 03 2019 at 23:12)</a>:</h4>
<p>Zulip added "quote" ;)</p>



<a name="164840829"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/197181-t-libs/wg-allocators/topic/The%20Alloc%20trait/near/164840829" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Scott J Maddox <a href="https://rust-lang.github.io/zulip_archive/stream/197181-t-libs/wg-allocators/topic/The.20Alloc.20trait.html#164840829">(May 04 2019 at 00:17)</a>:</h4>
<blockquote>
<p><span class="user-mention silent" data-user-id="219283">Scott J Maddox</span>  I'm currently on tracking the open discussions at github. If you don't mind you may file an issue at <a href="https://github.com/rust-lang/wg-allocators" target="_blank" title="https://github.com/rust-lang/wg-allocators">https://github.com/rust-lang/wg-allocators</a>?</p>
</blockquote>
<p>Opened <a href="https://github.com/rust-lang/wg-allocators/issues/12" target="_blank" title="https://github.com/rust-lang/wg-allocators/issues/12">https://github.com/rust-lang/wg-allocators/issues/12</a></p>



<a name="164841036"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/197181-t-libs/wg-allocators/topic/The%20Alloc%20trait/near/164841036" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Tim Diekmann <a href="https://rust-lang.github.io/zulip_archive/stream/197181-t-libs/wg-allocators/topic/The.20Alloc.20trait.html#164841036">(May 04 2019 at 00:23)</a>:</h4>
<p>Thanks for filing this. Also thanks for the link to the example, now I really understand why you came up with this approach. We may need to bikeshed about the name, but this is another story. <code>BuildAlloc</code> would be analogous to <code>BuildHasher</code> for example.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>